;**********************************************************
;  Microchip Enhanced PIC16F1xxx C Compiler (CC16E), v1.00
;  Thu Mar 18 21:09:16 2021
;**********************************************************
	.invoke	"\iCC16e/include/pic16e"
	.invoke	"\iCC16e/include/p16f1455"

	.device	"p16f1455", 1024, 8192

_$$::	.rs	0x23F0	; stack init. value


	.segment	CODE2 (REL) foo:13
foo_$_p:	.equ	foo_$data$+0
foo_$_a:	.equ	foo_$data$+2
foo_$1_p1:	.equ	foo_$data$+3
foo_$2_p2:	.equ	foo_$data$+5
foo_$3_p3:	.equ	foo_$data$+7
foo_$4_x:	.equ	foo_$data$+9
foo_$5_y:	.equ	foo_$data$+11
foo::
	movlw	foo_$data$+3
	movwf	FSR0L
	movlw	(foo_$data$+3)>>8
	movwf	FSR0H
	movlb	3
	.psel	foo, _copyPar
	call	_copyPar
	.psel	_copyPar, _$L2
_$L2:
; :: e1.c #11: while ( ADIF == 0 )
	.psel	_$L2, _$L2
	movlb	0
	btfss	17, 6
	goto	_$L2
; :: e1.c #11: ;
; :: e1.c #13: if ( *p )
	.bsel	17, foo_$data$
	movf	foo_$_p, W
	movwf	FSR0L
	movf	foo_$_p+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	addfsr	0, 1
	iorwf	INDF0, W
	.psel	_$L2, _$L6
	btfsc	3, 2
	goto	_$L6
; :: e1.c #13: a++;
	incf	foo_$_a, F
	.psel	_$L6, _$L6
_$L6:
; :: e1.c #14: ( a )
	.bsel	foo_$data$
	movf	foo_$_a, W
	.psel	_$L6, _$L9
	btfsc	3, 2
	goto	_$L9
; :: e1.c #14: a--;
	decf	foo_$_a, F
	.psel	_$L9, _$L9
_$L9:
; :: e1.c #15: ( N )
	.psel	_$L9, N
	call	N
	movwf	0x70
	.psel	N, N+1
	call	N+1
	iorwf	0x70, F
	.psel	N+1, N+2
	call	N+2
	iorwf	0x70, F
	.psel	N+2, N+3
	call	N+3
	iorwf	0x70, F
	.psel	N+3, _$L12
	btfsc	3, 2
	goto	_$L12
; :: e1.c #15: a++;
	.bsel	foo_$data$
	incf	foo_$_a, F
	.psel	_$L12, _$L12
_$L12:
; :: e1.c #17: (*p, a);
	.bsel	foo_$data$
	movf	foo_$_p, W
	movwf	FSR0L
	movf	foo_$_p+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	movwi	--INDF1
	moviw	1[INDF0]
	movwi	--INDF1
	movf	foo_$_a, W
	movwi	--INDF1
	andlw	128
	btfss	3, 2
	movlw	255
	movwi	--INDF1
	.psel	_$L12, func
	call	func
; :: e1.c #18: x = y++;
	.bsel	foo_$data$
	movf	foo_$5_y, W
	movwf	foo_$4_x
	movf	foo_$5_y+1, W
	movwf	foo_$4_x+1
	incf	foo_$5_y, F
	btfsc	3, 2
	incf	foo_$5_y+1, F
; :: e1.c #19: *p1 = *p2 + *p3;
	movf	foo_$2_p2, W
	movwf	FSR0L
	movf	foo_$2_p2+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	movwf	112
	movf	foo_$3_p3, W
	movwf	FSR0L
	movf	foo_$3_p3+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	addwf	112, F
	movf	foo_$1_p1, W
	movwf	FSR0L
	movf	foo_$1_p1+1, W
	movwf	FSR0H
	movf	112, W
	movwi	INDF0++
; :: e1.c #21: if ( a-- )
	decf	foo_$_a, F
	incf	foo_$_a, W
	.psel	func, _$L15
	btfsc	3, 2
	goto	_$L15
; :: e1.c #21: a++;
	incf	foo_$_a, F
	.psel	_$L15, _$L15
_$L15:
	.psel	_$L15, foo
	return
; function(s) called::
	.fcall	foo, func
	.fcall	foo, N+3
	.fcall	foo, N+2
	.fcall	foo, N+1
	.fcall	foo, N
	.fcall	foo, _copyPar

	.end
